Guarding Programs Against Attacks with Dynamic Data Flow Analysis

نویسندگان

  • Walter Chang
  • Calvin Lin
چکیده

The defense of computers against malicious attackers is a growing challenge. While techniques have been proposed for guarding programs against specific attacks, such as buffer overruns and format string attacks, few solutions are flexible enough to deal with a wide range of attacks. However, most attacks, known and unknown, involve manipulation of input data to the program—a problem well suited to data flow analysis. Many data flow analyses can be performed both statically and dynamically, albeit with different semantics. The dynamic version—known as dynamic data flow analysis—tracks the flow of abstract properties as the program executes, and is a form of program monitoring. Furthermore, dynamic data flow analysis can accurately monitor security-related flow properties that current methods, such as inlined reference monitors, cannot. Unfortunately, a straightforward implementation of dynamic data flow analysis can be prohibitively expensive because it attaches extra state to every object and monitors the program at every statement. This paper presents a system for using dynamic data flow analysis to dynamically monitor programs. We argue that data flow analysis is a flexible mechanism for implementing a wide range of program monitors, including security-enforcing monitors. We also show how our system unites static and dynamic data flow analysis: the same specification that defines what to dynamically monitor can also be used to drive a static analysis that optimizes the resulting system. We apply our system to the construction of monitors that guard programs against format string vulnerabilities. For a set of five open-source server programs, we find that 80% of the program statements are instrumented in a straightforward implementation of dynamic data flow analysis. When the corresponding static analysis is used, only 0.5% of the statements are instrumented, thus demonstrating the power of our system.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Intrusion Detection Based On Dynamic Information Flow Analysis

This paper presents a new approach to detecting intrusions against application software, whose primary goal is facilitating identification and repair of security vulnerabilities rather than permitting online response to attacks. The approach employs fine-grained dynamic information flow analysis in conjunction with policy enforcement, signature matching, and anomaly detection. Program execution...

متن کامل

Exploit Dynamic Data Flows to Protect Software Against Semantic Attacks

Unauthorized code modification based on reverse engineering is a serious threat for software industry. Virtual machine based code obfuscation is emerging as a powerful technique for software protection. However, the current code obfuscation techniques are vulnerable under semantic attacks which use dynamic profiling to transform an obfuscated program to construct a simpler program that is funct...

متن کامل

Self-Guarding Cryptographic Protocols against Algorithm Substitution Attacks

We put forward the notion of self-guarding cryptographic protocols as a countermeasure to algorithm substitution attacks. Such self-guarding protocols can prevent undesirable leakage by subverted algorithms if one has the guarantee that the system has been properly working in an initialization phase. Unlike detection-based solutions they thus proactively thwart attacks, and unlike reverse firew...

متن کامل

An Execution-flow Based Method for Detecting Cross-Site Scripting of Ajax Applications

We present an execution-flow analysis for JavaScript programs running in a web browser to prevent Cross-site Scripting (XSS) attacks. We construct finite-state automata (FSA) to model the client-side behavior of Ajax applications under normal execution. Our system is deployed in proxy mode. The proxy analyzes the execution flow of client-side JavaScript before the requested web pages arrive at ...

متن کامل

Threshold Implementation as a Countermeasure against Power Analysis Attacks

One of the usual ways to find sensitive data or secret parameters of cryptographic devices is to use their physical leakages. Power analysis is one of the attacks which lay in such a model. In comparison with other types of side-channels, power analysis is so efficient and has a high success rate. So it is important to provide a countermeasure against it. Different types of countermeasures use ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005